import { defineStore } from "pinia";
import { ref } from "vue";
import { getUserInfoById } from "@/api/user"; // ✅ 确保你有这个 API 函数

export const useUserInfoStore = defineStore(
    'userInfo',
    () => {
        // 用户信息
        const userInfo = ref({});

        // 设置用户信息
        const setUserInfo = (newUserInfo) => {
            userInfo.value = newUserInfo;
        };

        // 清除用户信息
        const removeUserInfo = () => {
            userInfo.value = {};
        };

        // ✨ 新增：从后端刷新最新用户信息
        const fetchUserInfo = async () => {
            if (!userInfo.value?.id) return; // 若无 id，说明未登录
            const res = await getUserInfoById(userInfo.value.id);
            if (res.status === true && res.data) {
                userInfo.value = res.data;
            }
        };

        return {
            userInfo,
            setUserInfo,
            removeUserInfo,
            fetchUserInfo, // ✅ 暴露方法
        };
    },
    {
        persist: true,
    }
);
